package com.itheima.Task04;

import java.io.FileInputStream;
import java.io.InputStream;
import java.lang.reflect.Method;
import java.util.Properties;

//(1)写一个Properties格式的配置文件，配置类的完整名称。
//        (2) 写一个程序，读取这个Properties配置文件，获得类的完整名称并加载这个类，
//        (3)用反射 的方式运行run方法。
public class Test {
    public static void main(String[] args) throws Exception {
//        FileInputStream Fis = new FileInputStream("day0703-code\\src\\prop.properties");


//        InputStream Fis = ClassLoader.getSystemClassLoader().getResourceAsStream("prop.properties");
//        Properties PP = new Properties();
//        PP.load(Fis);
//        String s = PP.getProperty("classname");
//        Class aClass = Class.forName(s);
//        Object o = aClass.newInstance();
//        Method method = aClass.getMethod("run");
//        method.invoke(o);
        InputStream Fis = ClassLoader.getSystemClassLoader().getResourceAsStream("prop.properties");
        Properties PP = new Properties();
        PP.load(Fis);
        String property = PP.getProperty("classname", "classmethod");
        Class aClass = Class.forName(property);
        Object o = aClass.newInstance();
        Method[] methods = aClass.getMethods();
        methods[0].invoke(o);
    }
}
